The present invention relates generally to data transmission on computer networks, and more particularly to acceleration of transmission of a web resource over a computer network.
The Internet has experienced explosive growth in recent years. The emergence of the World Wide Web has enabled millions of users around the world to download easily web pages containing text, graphics, video, and sound data while at home, work, or from remote locations via wireless devices. These web pages often are large in size and therefore require a long time to download, causing the user delay and frustration. Delay often causes users to abandon the requested web page and move on to another web page, resulting in lost revenue and exposure for many commercial web sites.
Delay downloading a web page can be caused by a number of factors. At the server, a large volume of page requests may overload the capacity of the server and result in unanswered or late-answered requests. Within the computer network, network congestion and limited bandwidth may cause delay in the transmission of data. Particularly problematic is the so-called xe2x80x9clast milexe2x80x9d between many home users and their Internet Service Provider. For a majority of Internet users, the last mile is typically a telephone modem connection configured to operate at speeds at or lower than 56K baud. For these users, large web pages take an agonizingly long time to download.
It would be desirable to provide a system and method for accelerating data transmission over a computer network, in order to decrease delay and provide users with more pleasurable experience.
A system, method, and device for computer networking are provided. The method typically includes receiving a request for a web resource from a remote client and obtaining an original web resource corresponding to the requested web resource. The method further typically includes processing at least a portion of the original web resource to form a size-optimized web resource having a smaller file size than the original web resource. The method also typically includes sending the size-optimized web resource to the remote client, and sending at least the portion of the original web resource that was size-optimized to the remote client in an original, unmodified state. The web resource may be image data, web page source data, or other web resource.
According to another aspect of the invention, the method includes receiving a request for a web resource from a remote client. The web resource typically contains renderable and non-renderable data. The method further includes filtering at least a portion of the non-renderable data from the requested web resource, thereby creating a modified web resource. The method also includes sending the modified web resource to the remote client. Non-renderable data may include whitespace, comments, hard returns, meta tags, keywords, or other data not used by a browser to present a web page.
According to another aspect of the invention, the method includes receiving a request for web resource from a remote client and, in real-time, creating a modified web resource based on the requested web resource. The modified web resource is typically smaller in size than the requested web resource. The method further includes sending the modified web resource to the remote client.
The device typically is for use on a computer network having a web server and a remote client. The remote client is configured to download a web resource from the web server via the computer network. The device typically includes a controller configured to receive a request for the web resource from the remote client, and in response, obtain the requested web resource from the web server. The controller is further configured to accelerate transmission, in real time, of the web resource from the web server to the remote client via the computer network. The requested web resource may include non-renderable data, and the controller may be configured to filter out at least a portion of the non-renderable data, thereby accelerating the transmission of the web resource to the remote client via the computer network.
According to another aspect of the invention, the device includes a controller configured to receive a request for a web resource from a remote client on a computer network, obtain the web resource from an associated web server, compress the web resource in real time, and send the compressed web resource to the remote client.
The system typically includes a computer network, a web server, and a remote client configured to download a web resource from the web server via the computer network. The system further typically includes an acceleration device positioned intermediate the web server and the remote client on the computer network. The acceleration device is configured to accelerate transmission of the web resource from the web server to the remote client. The web resource may be web page source data, image data, or other file. The acceleration device typically accelerates transmission of web page source data by filtering at least a portion of the non-renderable data from the web page source data. The acceleration device typically accelerates transmission of image data by creating a smaller version of the image data and sending the smaller version to the remote client. An original version of the image data may be sent to the remote client following the smaller version. The web resource also may be compressed by the acceleration device before transmission.